home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Direct
/
Shareware Direct.iso
/
vendinfo
/
concept.doc
next >
Wrap
Text File
|
1993-05-07
|
61KB
|
1,299 lines
VENDINFO Software Distribution Information System:
Conceptual Approach
by
H. Rudy Ramsey, Ph.D.
Rams' Island Software
Distributed for Public Comment, May 8, 1993
ABSTRACT
This document describes the conceptual approach for a system
called VENDINFO. VENDINFO is intended to convey software product
information and distribution permissions from the author to
distributors. A standard file format carries extensive informa-
tion in a compressed, efficient form. The associated toolset
will aid the author in constructing the record, and will allow
the distributor to extract portions of the record, or make
distribution decisions based on its content, in a highly auto-
mated way. VENDINFO will allow automation of many operations now
performed manually by BBS Sysops, disk vendors, etc.
Although work on VENDINFO is proceeding, it's not too late to
influence this project. This concept paper is being made public
so that we can obtain feedback from the shareware industry. We
want VENDINFO to satisfy YOUR needs! Comments can be made to
Rudy Ramsey via any of the addresses below. Comments by
electronic mail are preferred, but please use any convenient
method.
Copyright 1993 Rams' Island Software, Parker CO 80134 USA
Rams' Island Software
7644 E. Lakecliff Way _______
Parker, CO 80134-5904 (USA) ____|__ | (R)
--| | |-------------------
Voice: (303) 841-2848 | ____|__ | Association of
BBS: (303) 841-6269 | | |_| Shareware
CompuServe: 76244,324 |__| o | Professionals
-----| | |---------------------
FidoNet: 1:104/333 |___|___| MEMBER
RIME: RAMSISLE
Internet: 76244.324@CompuServe.Com
VENDINFO Approach -1- 5/8/93
ACKNOWLEDGMENTS
The author is indebted to Fred Hill for providing both motivation
and ideas in the early phase of this effort. Thanks are also given
to the following, for reviewing drafts of this paper and providing
useful comments and encouragement: Jim Green, Richard Holler, Bob
Ostrander, Eric Robichaud, Bob Schenot, and Bill Shor. Several
other members of the Association of Shareware Professionals have
offerred useful suggestions, though they may not have reviewed the
paper itself.
BACKGROUND
The existing mechanisms for conveying information from shareware
authors/publishers to shareware distributors are inefficient,
highly labor-intensive, and often ineffective. There is a good deal
of relevant information to be conveyed, including product names,
versions, and descriptions; distribution permissions and restric-
tions; preferred packaging methods and file names; and much more
that will be discussed below. Failures to convey such information
reliably and efficiently are costly to the entire industry, and
especially to the authors. Such failures often result in products
distributed in violation of distribution restrictions, with finan-
cial loss to the author and legal exposure to the distributor.
Other adverse consequences include failures to replace out-of-date
products, products poorly described to the end user by dis-
tributors, and very large expenditures of time and effort by the
distributors.
To the extent that there is any unified "system" associated with
this information flow, it consists of some rather loose conventions
regarding the VENDOR.DOC, and perhaps SYSOP.DOC files that are
typically included in each shareware package. (There are also two
conventions -- FILE_ID.DIZ and DESC.SDI -- for automatic conveyance
of product descriptions, but the useful content of these files is
very limited.) While most vendors intend well, and many are quite
conscientious, the (necessarily manual) processing of this informa-
tion is time-consuming, error-prone, and expensive. Many dis-
tributors (especially BBS Sysops) are believed to largely ignore
this information, at least partly because the effort required to
attend to it is unacceptably large.
The present proposal is an attempt to address these issues with
sufficient breadth and care that a real solution will result.
VENDINFO Approach -2- 5/8/93
GOALS
1. The primary goal of this effort is to automate the handling of
information about distribution restrictions applicable to various
software packages. We want to make it easy and painless for each
software distributor to determine whether or not it is free to
distribute a particular package in a particular way. We would like
the distributor to be able to ask questions like these, and get
exact answers:
o I am a BBS Sysop charging users a monthly fee of $5.00 US,
with no additional charges for downloads. I wish to dis-
tribute PACKAGE.ZIP. Does its author allow this distribution?
o I am the manager of a FidoNet-based file distribution network
to which PACKAGE.ZIP has been submitted. I am considering
publishing a CD-ROM of such files, intended for use only by
Sysops in this network. May I place this package on the CD-
ROM?
o I am a mail-order disk vendor and an ASP Vendor Member,
charging $6 per 360K diskette. May I distribute PACKAGE.ZIP?
Do I need explicit permission, or are the necessary permis-
sions already given in the author's distribution restric-
tions?
o I am a mail-order disk vendor and I already have the author's
written permission to distribute this product by mail-order
catalog. I am now negotiating deals for retail-store rack
distribution and for a CD-ROM aimed at end users. May I
include PACKAGE.ZIP in either or both of these ventures?
o I am constructing a CD-ROM intended for sale to BBS Sysops. I
want to be sure not only that I have permission to include
this package, but also that the author allows unlimited
distribution to users by BBSes, so that there will be no
license violations when the CD-ROM is used. Are all the
necessary conditions satisfied?
For each such question, possible answers might be:
o All necessary conditions have been satisfied, and the dis-
tribution may be made without further contact.
o The basic conditions match the author's allowed distribution
methods, but written permission is still required.
o This form of distribution is not allowed by the author under
VENDINFO Approach -3- 5/8/93
any circumstances.
o Such a distribution is allowable, provided you satisfy the
following additional conditions...
2. The accomplishment of the primary goal implies the existence of
a formal data structure within each participating product package,
containing information about the product's distribution permissions
and restrictions. (We'll call this structure VENDINFO.DIZ, just to
allow concrete discussion.) This leads rather directly to our
second goal, which is to use this structure to convey a good deal
more than just distribution restrictions, including such things as
product name and version, descriptions, author contact information,
membership in trade associations, registration benefits, etc. There
are two or three good reasons for expanding the effort to include
such information. First, the existence of a formal author-to-
distributor information structure is simply too good an opportunity
to miss. Second, there's Ramsey's Law.
About twenty years ago, the author played the tongue-in-cheek
academic game of "find a useful truth that hasn't been claimed yet,
and name it after yourself to amuse and impress your friends".
Thus, the name of Ramsey's Law is probably subject to dispute. Few
would argue about the correctness of the law itself, though. The
relevant form of Ramsey's Law states that
Every necessary participant in a system must have
predominantly positive incentives for its use, or the
system will fail.
This "law" is related to psychology, economics, the "rational man",
and various other familiar areas and ideas. It is easy to find an
almost arbitrary number of real-world system failures, from the
U.S. welfare system to computer-based logistics systems, which can
be traced to a failure to understand and implement this idea. We
wish to avoid such a failure here. In this case, it is necessary to
motivate participation by both authors and (various classes of)
distributors. Goal two is intended as a way of increasing the value
of the system, for both authors and distributors, sufficiently that
each class will be so rewarded as to participate quite voluntarily.
By providing means of reliable and automatic extraction of these
common types of product-related information, we can reduce the
workload for all types of distributors, in some cases by very large
amounts.
3. Goal three, which is also related to this "beef up the incen-
tives for voluntary use" idea, is to provide automated tools that
make use of the system easy for all classes of user. As you'll see
VENDINFO Approach -4- 5/8/93
below, we imagine a specialized editor for use by authors in con-
structing the VENDINFO structure, and a fairly "smart" tool for use
in batch files to extract both decision information ("yes, I have
permission to post this product on my BBS") and specific informa-
tion fields (e.g., the author's mailing address).
4. Goal four is tentative, but valuable if we can find ways to
accomplish it. This goal is to allow a subset of the VENDINFO
information to be appended to executable programs, and used by the
VENDINFO program or even by the executable program itself, to make
decisions about the distributability of the program. Such a feature
might, at the very least, allow the detection of illegally uploaded
commercial software on a BBS, detection of inadvertent inclusion of
registered-user-only utilities in a distribution package uploaded
by a user, etc.
5. Goal five (back to incentives) is to provide, to all affected
user classes, substantial access to both the design process and the
resulting system, while maintaining a single point of management so
its evolution can be controlled and any security features can be
maintained. This goal has implications for both the design process
(phased, with adequate opportunities for feedback) and the form of
distribution of the result (primarily a mix of freeware and low-
cost shareware). It is important that the file format standard be
public. It is also important to insure that the entire system,
including source code, reverts to some reliable institution if the
authors cease to be able and willing to maintain it.
6. Goal six is a possible additional goal, not yet fully inves-
tigated. This is the possibility of developing a centralized
registry service, allowing authors to provide just the VENDINFO.DIZ
files for their products, and allowing vendors to obtain and scan
the resulting data collection for the purpose of updating their
product offerrings.
7. Goal seven was not in the original draft of this paper, but the
need for it was pointed out by the very first reviewer (a shareware
vendor). Just as "cobbler's children have no shoes", it is easy to
overlook the application of basic principles to oneself. If this
system is to be successful in the long term, it is necessary that
the developers/maintainers of the system have the appropriate
incentives to continue their own effort (see Ramsey's Law, above).
While this is primarily a labor of love, which started as a volun-
teer effort to improve the shareware industry, it will fail if the
overall scheme lacks a mechanism to make the necessary effort at
least financially tolerable. Accordingly, we intend that the
software tools have appropriate, relatively small registration
fees, in order to motivate a serious, sustained, long-term ap-
proach. It is very important to balance this goal against goal
VENDINFO Approach -5- 5/8/93
five, and not allow any registration fees to be a serious disincen-
tive to use of the VENDINFO system. Since this effort is motivated
mainly by genuine altruism, the revenues required to motivate its
continuation will not be as great as if this were a primarily
profit-making activity.
BASIC APPROACH
The proposed approach begins with a standard for the encapsulation
of product information in the form of a small, compressed file. The
public standard will include sufficient information to allow anyone
to construct tools for reading the information in the file, and for
checking the file for errors (by CRC check, for example). This
standard may exclude details of a second layer of security neces-
sary to produce valid records. This exclusion is intended to allow
users to have reasonable confidence that an author's VENDINFO
information has not been altered. Ideally, this second layer would
take the form of a public-key authentication mechanism, but ques-
tions regarding the legal status of such mechanisms may render that
impossible. As a minimum, this layer will include a private-key
encryption of a CRC code, so that a central site can verify the
authenticity of such records.
The proposed approach includes two primary computer programs:
o VENDEDIT -- a specialized editor for the distribution
information (if you're familiar with it, think of Rob
Rosenberger's ASP catalog entry editor). VENDEDIT may also
import information from relevant sources into the distribu-
tion data structure (e.g., from Rob's just-mentioned
catalog database). This program will edit an intermediate
form of the data, and will, on request, export the actual
VENDINFO.DIZ file. If any information is written to an
executable, this program will probably also perform that
function.
o VENDINFO -- a simple DOS program for evaluating particular
distribution situations (returning different DOS error
codes depending on the result), and for extracting in-
dividual data fields from the data structure. VENDINFO can
also scan any executables for distribution information.
These two programs, along with the file format standard and all
appropriate documentation, will be packaged as a separate, freely
available product. They will not be included redundantly in product
packages that make use of the VENDINFO system, though information
about their acquisition should be so included.
VENDINFO Approach -6- 5/8/93
A third program, VENDINFO PLUS, may be available only as a non-
shareware version (NSV). It will allow management of a collection
of VENDINFO files for multiple products, and will provide more
convenient features for querying single or multiple product
records, and for extracting information suitable for catalog or
file-list construction.
A fourth program, VENDVIEW, may be made available -- at no cost --
to end users, to allow them to view user-relevant portions of the
VENDINFO record.
The approach also includes one data file, VENDINFO.DIZ. This file
is constructed (in accordance with the standard) using VENDEDIT,
evaluated using VENDINFO, and is the only artifact of the VENDINFO
system that needs to be included in individual product packages.
There may also be an abbreviated form of this record for use in
multipart packages, in the second and subsequent parts of the
package.
There may also be an abbreviated data record, similar in structure
to VENDINFO.DIZ but much briefer, that can be made a part of any or
all executable programs to "brand" them with program name/version,
distribution restrictions, and perhaps author contact information.
If so, such records will be appended by VENDEDIT or, optionally,
output by VENDEDIT in source-includable form. Since the records
will be encrypted (at least by a standard compression program) and
CRC-validated, a layer of security is present. By doing this brand-
ing before calculating the CRC of the executable for distribution
purposes, the author's own run-time CRC check on the executable can
provide an additional layer of security that encompasses the VEN-
DINFO record, if desired. Programs that brand themselves as regis-
tered should be able to make the appropriate change to this record
as well, without causing failures of any CRC or validity checks
(details of this mechanism have not yet been worked out).
VENDINFO will probably also require a standard approach to package
names. Likely legal forms of such names are AAAAAVVV.*, AAAAAAVV.*,
and AAAAAVVP.*, where "A" is an alphabetic field representing the
product name, "V" is a numeric field representing a version number,
and "P" is an alphabetic character (in order, as "A", "B", "C",
etc.) designating a particular part of a multipart package. As
usual, the filename extension corresponds to the particular com-
pression program, such as "ZIP", "LZH", "ARJ", etc. Thus,
INCXT11A.ZIP is a compressed ZIP package containing part one of the
multipart InContext product, version 1.1.
VENDINFO Approach -7- 5/8/93
VENDINFO.DIZ FILE CONTENT
Below is a first cut at the possible content of the VENDINFO data
structure. The details of this structure almost surely need work,
and comments will be most appreciated. It seemed appropriate to
provide this level of detail both in order to solicit such comments
and in order to fully convey the idea.
When considering this file structure, it is important to note that
it needs to allow an author to express any reasonable distribution
restrictions, even if they're ill-advised. Otherwise, substantial
numbers of authors might find the system unworkable, defeating its
purpose. Thus, for example, it allows an author to prohibit BBS
distribution. This does not imply that many authors would choose
this option, and it is expected that the VENDEDIT program would
advise against such choices, even while allowing their selection.
It is also important to keep in mind the power that a specialist
editor can provide. This looks like an intimidating information
structure, but most authors won't even have to consider most of the
information, because their "all" or "none" choices will render many
of the more fine-grained choices irrelevant. With the exception of
product descriptions -- which may be imported -- we would expect
that authors could prepare a VENDINFO record in 5-10 minutes.
We hope our non-US participants won't be offended, but it is neces-
sary to express some prices in a common currency, because automated
comparisons are necessary. For example, if the author allows
shareware rack distribution so long as the price does not exceed a
given amount, VENDINFO must be able to compare that amount with the
distributor's proposed price. We have chosen US dollars for this
purpose, and will try to provide appropriate assistance for conver-
sions in VENDINFO, using author-provided conversion factors.
In the file structure shown below, fields like the following repre-
sent text fields of appropriate but limited length:
Other registration incentives: ____
An asterisk (*) indicates information used to brand EXEs.
Human-readable header (not compressed)
Appropriate information automatically generated by VENDEDIT
Brief information describing VENDEDIT record,
telling how to obtain necessary tools, etc.
Full product name and version, version date, etc.
Required platform
Brief product description, keywords, etc.
More, to be determined
Optionally, content of author-specified file
NOTE: this is intended to allow total replacement of
VENDINFO Approach -8- 5/8/93
VENDOR.DOC, since this header section is human-
readable. It is hoped that this section will
eventually become quite brief, containing only the
most basic license information, and incorporating the
following data record by reference. Thus, the entire
record should wind up substantially shorter than most
of today's VENDOR.DOC files. Any special distribution
requirements, not covered by VENDINFO, would also
appear here, and would be referenced by selection of
"must see attached text for further information" in
the relevant section below.
Control-Z, to terminate readable section of VENDINFO.DIZ
VENDINFO information (* some portions included in EXE)
Identifying string
VENDINFO record version number
VENDINFO record date/time prepared
VENDINFO record compressed length
VENDINFO record uncompressed length
VENDINFO record CRC
Secondary security key
Author/publisher information
Author contact information
Author personal name(s) \_____ at least one present*
Author corporate name /
Mailing address
Orders phone
FAX phone
Queries phone*
Electronic addresses
CompuServe
GENIE
Prodigy
Internet
FidoNet
RIME
Others: ____
Credit cards accepted
Author is member of
ASP
STAR
ASAD
...
Product information
Product name
Brief name (e.g., InContext)*
Full name (e.g., InContext Work Environment Manager)
VENDINFO Approach -9- 5/8/93
Version number*
Version date*
Reason for version: ____
Filename prefix for this entire package (e.g., INCXT11)
Filename prefix(es of parts) of the package
(e.g., INCXT11A INCXT11B)
Filename prefix of this particular part (e.g., INCXT11A)
Approximate compressed size of this part
Prefixes of old versions replaced
(e.g., INCXT10A INCXT10B)
Technical support information
Mailing address
Voice phone
FAX phone
Support BBS name
Support BBS phone
Electronic addresses, forum support?
CompuServe
GENIE
Prodigy
Internet
FidoNet
RIME
Required platform
CPU
Minimum, recommended (list, like ASP catalog editor)
Descriptions (implies consent for catalog use)
1-line
2-line
Short \ author chooses length, tools
Intermediate -- extract longest description
Long / that fits specification
Product categories (ASP catalog categories?)
Product keywords (possibly list-aided?)
Allied NSV/Retail products, and registered-version sales
by distributors (how represent this information?)
Product pricing information
Registration information, if shareware
Minimum registerable package
Registration price (allow non-US currency?)
Registration incentives
A - Additional data or subscriptions to data files
B - BBS or other online support
C - Commissions and/or contests
D - Disk with latest version
E - Expanded version or additional related programs
F - Additional unrelated programs or merchandise
VENDINFO Approach -10- 5/8/93
G - Lifetime moneyback guarantee (or ____ months?)
H - Additional documents, hints, cheat codes, etc.
I - Tutorials and/or sample data
K - Elimination of regis. reminders, watermarks
L - LAN or site license
M - Printed manual
N - Update and/or bug notices
P - Periodical newsletter
R - Complete retail package
S - Source code
T - Elimination of time limits or record limits
U - Next major update free (or ____ months?)
V - Voice telephone support
Z - Registration license covers all future versions
Text for any additional: ____
Maximum registerable package, if different
Registration price
Registration incentives
Codes for each major category, as above
Text for any additional: ____
Shipping and handling costs
(probably multiple, perhaps min/max or geographic)
Site licenses available?
See attached text for applicable discounts?
Dealer discounts available?
See attached text for applicable discounts?
Royalties for shareware distribution?
NOTE: applicable only where explicitly selected,
below.
Minimum royalty, per copy: ____
Circumstances: ____
Maximum royalty, if different: ____
Circumstances: ____
Royalties negotiated in all cases?
See attached text for further information?
Royalty collection agent: ____
NOTE: included here as pure speculation. Does
anyone else foresee this as an industry development?
Distribution permissions and restrictions (*, abbreviated)
Nature of Product
"Commercial" software, not distributable as shareware?
Registered version, not distributable as shareware?
Shareware, subject to distribution restrictions?
Shareware, freely distributable by all channels?
Bannerware (free shareware), dist. by all channels?
Public domain, freely distributable by all channels?
Retired product, removal from distribution requested?
Out-of-date checks, if applicable to all channels
VENDINFO Approach -11- 5/8/93
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Distribution allowed only in the United States?
Packaging Requirements
Only the following internal package changes allowed:
Package must be distributed without modification?
All the original files must be included unchanged?
BBS/vendor ads/help allowed in separate file?
BBS/vendor ads/help may be appended to document files?
Distributor may substitute own installation procedure?
Additional requirements for replacing install:___
Must see attached text for further requirements?
May be repackaged using other compression program?
Additional requirements for repackaging:___
Must see attached text for further requirements?
Other allowed changes: ____
May be packaged together with other, similar products?
(as in disk vendor's category multidisk)
Written permission required?
Additional requirements for multi-packaging:___
Must see attached text for further requirements?
May be packaged together with other, dissimilar products?
(as in hardware dealer initial installation)
Written permission required?
Additional requirements for multi-packaging:___
Must see attached text for further requirements?
Vendor upgrade policy: ____
NOTE: the remaining information is only
obtained from the author, and included in the
VENDINFO record, if the author picked the
"Shareware, subject to distribution restrictions"
catagory, above.
Distribution to End User by BBS
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any BBS?
any receiving package from author?
any ASP BBS?
any User Group BBS?
But they are "disqualified" if:
they charge users at all?
subscription more than $____ per year?
download fees > $____ per program?
download fees > $____ per 100K bytes?
(NOTE: this includes per-hour services,
such as CompuServe; calculated per 100K
VENDINFO Approach -12- 5/8/93
bytes to handle variable baud rates)
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Distribution to BBSes by File-Distribution Networks
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any such network?
any receiving package from author?
But they are "disqualified" if:
distributing by CD-ROM?
by other mass media (eg, diskette, tape)?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Distribution to End User by Mail-Order Disk Vendor
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any mail-order vendor?
any ASP mail-order vendor?
any receiving package from author?
But they are "disqualified" if:
charging > $____ per program?
charging > $____ per 360K diskette or equivalent?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
VENDINFO Approach -13- 5/8/93
Distribution to End User by CD-ROM
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any vendor?
any ASP vendor member?
any receiving package from author?
But they are "disqualified" if:
charging > $____ per CD-ROM?
charging > $____ per program?
charging > $____ per 360K diskette equivalent?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Shareware Distribution to End User by Single-Site Rack
NOTE: this category includes "racks", "bins", vending
machines, etc., whenever the "distributor" is not an
entity separate from the retailer, and only a single
site is involved. Thus, it includes an independent
computer store managing its own shareware bin, a
user-group librarian, a flea-market vendor, etc.
See below for distribution involving multiple sales
sites.
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any vendor?
any ASP vendor member?
any non-profit user group?
any receiving package from author?
But they are "disqualified" if:
charging > $____ per program?
charging > $____ per 360K diskette or equivalent?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
VENDINFO Approach -14- 5/8/93
Shareware Distribution to Seller by Rackware Distributor
NOTE: this category includes "racks", "bins", vending
machines, etc., provided to multiple sites by a single
distributor. It is assumed in this case that the
distributor, and not the seller, is responsible for
satisfying the author's distribution requirements,
and for insuring that the seller does so. See above
for distribution involving only a single sales site.
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any vendor?
any ASP vendor member?
any receiving package from author?
But they are "disqualified" if:
charging > $____ per program?
charging > $____ per 360K diskette or equivalent?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Shareware Distribution to End User in Book Enclosure
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any publisher?
any receiving package from author?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Distribution to End User by Subscription Service
NOTE: this category includes "disk-of-the-month"
type services.
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
VENDINFO Approach -15- 5/8/93
any distributor?
any ASP vendor member?
any receiving package from author?
But they are "disqualified" if:
charging > $____ per month?
charging > $____ per program?
charging > $____ per 360K diskette or equivalent?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Distribution to End User by Magazine Cover Disk
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any distributor?
any receiving package from author?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Distribution to End User by 1-900-type Service
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any service?
any ASP BBS or vendor member?
any receiving package from author?
But they are "disqualified" if:
charging > $____ per program?
charging > $____ per 360K diskette or equivalent?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
VENDINFO Approach -16- 5/8/93
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Product Installation by Distributor on End-User's Machine
NOTE: this category is concerned with consultants,
value-added resellers (VARs), hardware vendors, etc.
who may wish to install products on equipment owned
or purchased by the end user, as part of the services
provided by the distributor for compensation.
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are:
any such distributor?
any whose paid service is only software consulting?
any whose paid service involves hardware sale?
any receiving package from author?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Dealer discounts available if registered version used?
Distribution by substantially different means
Such distribution is prohibited?
Who may distribute:
"Qualifying" distributors are
any distributor?
any receiving package from author?
Qualifiers must also have written permission?
Others may distribute with written permission only?
Others may not distribute?
Other requirements
Royalty required? (see "pricing" for amounts)
Must contact author for new version after <date>?
Distribution of this version prohibited after <date>?
Additional requirements for such distribution: ____
Must see attached text for further requirements?
Issues to be addressed
Sublicensing (e.g., disk vendor franchising)
How list allied NSV/retail products, registered-version
sales by distributor, etc.
Possible restrictions on repackaging from, say, 720K to
VENDINFO Approach -17- 5/8/93
multiple 360K or reverse?
The public standard will indicate details of these records, as well
as a specification for appending the minimal "branding" information
onto an executable. Provisions should be made in this scheme for
"rebranding" an executable as registered, as a result of an author
action by the executable itself. Such rebranding must not break any
validation checks.
It will also be appropriate to specify a format for an abbreviated
record to be included in companion parts of a multipart package.
The full VENDINFO record should appear only in the first part of
the package.
VENDEDIT PROGRAM
This program is a specialized interactive editor used to generate
VENDINFO.DIZ records. It will allow creation and editing of an
intermediate record (perhaps VENDINFO.DB), and export (but not
import) of the VENDINFO.DIZ record itself. This is a security
feature intended to help users insure that validated VENDINFO.DIZ
records, and EXE brands, have come from the original author. It is
currently imagined that VENDEDIT will also perform EXE branding, if
so directed, or will output the VENDINFO record in source-
includable form.
If you're familiar with Rob Rosenberger's ASP Catalog Entry editor,
this program will probably be similar in general appearance. It
will be implemented using the C++ version of the same TurboPower
package Rob used in his program.
One of the advantages of a specialist editor is its ability to
perform error checking, and to require user verification of any
questionable or important actions. It is expected that VENDEDIT
will perform a good deal of this, in order to reduce errors, guide
inexperienced authors, and increase the confidence of distributors
in the VENDINFO data. As a (perhaps overdone) example, "You've
indicated that all BBSes, regardless of affiliations, and presence
or absence of user fees, are free to distribute this product
without further permission or payment of royalties. That's fine,
and is in fact what most shareware authors allow. Just to be sure,
though, please verify that this was your intention."
VENDINFO PROGRAM
This is a command-line-driven program intended to assist the dis-
tributor who is (perhaps automatically) reviewing a single product
VENDINFO Approach -18- 5/8/93
at a time. It allows a distributor to fully characterize a proposed
form of distribution via command-line switches. It processes the
indicated VENDINFO.DIZ file (and, if desired, any executable
programs in the package), and it returns an errorlevel representing
conformance of the proposed distribution method with the author's
distribution permissions.
At least the following cases will be distinguished by different
error levels:
o Distribution is approved without further conditions or per-
mission.
o Proposed form of distribution satisfies author requirements,
but written author permission is required, and the selected
command-line switches did not indicate that such permission
has been obtained.
o Proposed form of distribution is allowed, provided the fol-
lowing additional requirements are satisfied (listed to
stdout).
o Proposed form of distribution is allowed, provided the fol-
lowing additional requirements are satisfied (listed to
stdout). Written permission is also required, and the
selected command-line switches did not indicate that such
permission has been obtained.
o Proposed form of distribution is prohibited for this product
(list of violated author conditions is written to stdout).
o Incomprehensible or internally inconsistent command-line
flags were selected (errors listed to stdout or stderr).
o The package contains an unvalidated (or unregistered) VEN-
DINFO record and so cannot be "guaranteed" to come from the
original author. A command-line switch can be used to sup-
press this test.
o (if selected) Package contains executable programs which are
branded with VENDINFO restrictions that are violated by the
proposed form of distribution (list of programs, violations
written to stdout or stderr).
In addition, VENDINFO will allow the user to specify individual
information fields via command-line flags, and will extract the
content of those fields to stdout, for use in product lists,
catalogs, etc. At least the following outcomes will be distin-
VENDINFO Approach -19- 5/8/93
guished by separate error levels:
o Query successful, field content written to stdout.
o Query unsuccessful, requested information not provided in
record.
o Query contained incomprehensible or inconsistent command-line
flags (error list to stdout or stderr).
One special case of information extraction deserves notice. To
extract a description, the user will be able to specify a maximum
description size in terms of lines and columns. Using word-wrap,
VENDINFO will extract the longest author-provided description that
satisfies the request. Consider, for example:
VENDINFO -Xd10,45 > FILE_ID.DIZ
VENDINFO -Xd1,60 > DESC.SDI
Example batch files will also be provided, to illustrate how VEN-
DINFO might be used for various purposes. No detailed examples will
be provided here, since no command-line syntax has yet been
specified for VENDINFO, but it's easy to imagine a batch file that
does something like:
if OK-for-proposed-form-of-disk-vendor-distribution
if written-permission-required
if compuserve-address present
build script for compuserve permission request
else if internet-address present
build script for internet permission request
else
build complete permission-request letter
place package in holding area
else
perform virus check using other tools
copy VENDINFO record to collection area, by product name
extracting information as desired, build reviewer sheet
extracting information as desired, build catalog entry
move package to reviews area
else
reject
VENDINFO Approach -20- 5/8/93
VENDINFO PLUS PROGRAM
This program, a non-shareware-version (NSV), will include all the
capabilities of VENDINFO. It is intended to provide a more con-
venient approach to the functionality of VENDINFO, but its more
important distinguishing features will be its support for product
searching, given a database of VENDINFO.DIZ files, such as that
obtainable from the VENDINFO Product Registry.
VENDINFO PLUS will be an interactive (rather than purely command-
line driven) program. It will allow the user to specify proposed
distribution methods via interactive query construction, and will
be capable of scanning multiple VENDINFO.DIZ files for products
satisfying the conditions of the query. It may allow the construc-
tion of scripts to be used for extracting desired information from
a collection of VENDINFO records in a form appropriate for produc-
tion of catalogs or file lists.
VENDINFO PLUS may allow the user to construct VENDINFO files for
use in this process, so that the distributor could maintain a list
of *all* products in VENDINFO form, even though the VENDINFO files
were not provided by the author. Such VENDINFO files would contain
only information deemed relevant by the distributor, and be so
constructed that they would fail author validity tests if actually
distributed with a product, but would otherwise work satisfactorily
with VENDINFO and VENDINFO PLUS. This capability is intended to
provide an easy migration path to fully automated catalog construc-
tion based on VENDINFO records.
VENDVIEW PROGRAM
This program, which is under consideration, would be provided at no
cost. It would be targeted mainly at users, and would allow them to
view selected, user-relevant portions of the VENDINFO.DIZ record,
as well as the human-readable text at the beginning of the record.
This might allow the VENDINFO record to serve some of the functions
of today's READ-ME files, though the human-readable portion of
VENDINFO.DIZ may already be enough. Again, this program is tenta-
tive.
PRODUCT REGISTRY
The Product Registry is a proposed centralized database of
VENDINFO.DIZ files (actually named to match the preferred product
filenames, as INCX110.DIZ). It will be maintained on a BBS (already
in existence). Mechanisms will be provided for author submission of
their VENDINFO.DIZ files by E-mail, BBS file transfer, upload, and
VENDINFO Approach -21- 5/8/93
(with a small handling fee) by ordinary mail on diskette. Record
validation will be performed automatically for all submitted
records. Interested distributors may access the BBS to download
individual files, monthly update files, or the complete, current
database. Alternatively (or in addition), distributors may sub-
scribe to a monthly update service which provides a complete,
current database each month, on diskette. In addition, individual
reports will be produced on request, for a fee, by searching the
entire database for products whose distribution permissions (and
perhaps other attributes) match a specified query.
It is possible that a mechanism will be developed to allow sub-
scribing distributors to perform on-line queries while logged into
the Product Registry BBS.
VENDINFO SOFTWARE DEVELOPER LIBRARY
To assist software developers (especially developers of BBSes and
related utilities) who may wish to reliably read the contents of
VENDINFO.DIZ files, the relevant functions will be packaged as a
library and made available for a relatively small fee. It is im-
agined that source code will be provided as well, though there is
one security issue to be resolved. This library will be available
at least in C++ form, and possibly in other forms, as well.
WHERE DO WE GO FROM HERE?
This concept document was released for public comment on May 8,
1993. Comments will be solicited especially through June 30, 1993.
Development of the VENDINFO toolset is already underway, and
prototype tools should be available for demonstration at the Summer
Shareware Seminar in Indianapolis, June 18-20.
We hope to issue a public file format standard in July. We will
request endorsement of the standard by the relevant industry trade
groups.
We hope to have the basic toolset in beta test by August and ONEB-
BSCON, and to release them shortly thereafter.
VENDINFO Approach -22- 5/8/93